//
//  VOCWordList.h
//  iVoc
//
//  Created by Wallace Wu on 09-3-11.
//  Copyright 2009 Sonic Solutions. All rights reserved.
//

#import "VOCWordData.h"
#import "VOCIndex.h"

/*!
    @class
    @abstract    Class for representing a wordlist
    @discussion  This is a major data class which providing almost all vocabulary data.
*/
@interface VOCWordList : NSObject<NSCoding> {
    NSArray *data;
    NSArray *index;
    NSString *name;
    BOOL    needsReindex;
    NSUInteger wordCount;
}
@property(retain) NSString* name;
@property(retain) NSArray*  data;
@property(retain,readonly) NSArray*  index;
@property(assign,readonly) NSUInteger wordCount;
@property(assign,readonly) VOCWORDLanguage explanationLanguages;

+(NSArray*)allWordLists:(NSString *)path;

-(id)initWithName:(NSString*)aName withData:(NSArray *)aData;

-(NSUInteger)wordCount;
-(NSArray*)findWordsWithString:(NSString*)aString caseSentitive:(BOOL)caseSentitive;
-(BOOL)containsWord:(VOCWordData*)word;

@end
